//
//  ZXWeakProxy.h
//  ZXTimer
//
//  Created by 朱新明 on 2023/6/12.
//  Proxy一个抽象的轻量级代理对象，作用是转发消息到真实对象。默认是直接抛异常，所以必须重写处理它自己没有实现的消息，转发给业务target。比NSObject少了消息传递和动态解析方法，NSObject要实现类似的效果麻烦的多。

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN
///解决NSTimer&CADisplayLink创建时对self强引用问题,转发给弱引用对象
@interface ZXWeakProxy : NSProxy

@property (nonatomic, weak, readonly) id target;

- (nonnull instancetype)initWithTarget:(nonnull id)target;
+ (nonnull instancetype)proxyWithTarget:(nonnull id)target;

@end

NS_ASSUME_NONNULL_END
